package com.godenwater.recv.task;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.net.InetAddress;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TimerTask;
import java.util.Map.Entry;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.jdbc.support.rowset.SqlRowSet;


public class MonitorTask extends TimerTask {

    private Logger logger = LoggerFactory.getLogger(this.getClass());

    public void run() {

    }
//		try
//		{
//			logger.info(">>RTU<< 开始监测测站运行情况....");
//			BaseDao baseDao = (BaseDao) Application.getInstance().getCtx().getBean(
//					"baseDao");
//			String sql = "select * from rtu_station";
//			
//			//测站总数
//			int iStationCount = baseDao.queryForCount(sql);
//			
//			//获取行政区名称
//			sql = "SELECT DISTINCT(a.addvnm) FROM rtu_station s,rtu_addvcd a WHERE s.addvcd=a.addvcd";
//			String strAddvnm ="";
//			List lstAdd = baseDao.getJdbcTemplate().queryForList(sql);
//			Iterator unDataItr = lstAdd.iterator();
//			if (unDataItr.hasNext()) {
//				Map unDataRow = (Map) unDataItr.next();
//				strAddvnm = (String) unDataRow.get("ADDVNM");
//			}
//			
//			//报警临界值（从配置文件中获取，超过该值测站没数据则报警）
//			int iAlarmCount = Configurer.getIntProperty("monitor_alarm_count");
//			
//			//无数据临界值（分钟）（从配置文件中获取，超过该值没数据则视为该站停报）
//			int iAlarmTime = Configurer.getIntProperty("monitor_alarm_time");
//			
//			//提醒信息发送到的手机号
//			String strPhones = Configurer.getStringProperty("monitor_alarm_phone");
//			
//			//停报的测站数
//			int iInvalidStationCount = iStationCount;
//	
//			System.out.println(">>RTU<< 开始监测测站运行情况....");
//			Map<String, ClientInfo>  stations = YYServer.getInstance().getSessionManager()
//					.getClients();
//			Iterator iterator = stations.entrySet().iterator();
//			while (iterator.hasNext()) {
//				Map.Entry<String, ClientInfo> entry = (Entry<String, ClientInfo>) iterator
//						.next();
//				try {
//					ClientInfo client = entry.getValue();
//					if (client != null) {
//						if( client.getLastRecvTime()!=null){
//							Date lastRecvTime = client.getLastRecvTime();
//							long betweenTimes = (new Date()).getTime() - lastRecvTime.getTime();
//							if((betweenTimes/(1000*60))<iAlarmTime)
//							{
//								iInvalidStationCount -= 1;
//							}
//						}
//					}
//				} catch (Exception e) {
//					e.printStackTrace();
//				}
//			}
//			
//			if(iInvalidStationCount>=iAlarmCount)
//			{
//				String strMes = "提示："+strAddvnm+"共有测站 "+iStationCount
//						+" 个，其中有 "+iInvalidStationCount+" 个测站超过  "
//						+iAlarmTime+" 分钟没有数据上报，请注意查看！";
//				//System.out.println(">>RTU<< "+strMes);
//				logger.info(">>RTU<< "+strMes);
////				TestCMSShortConnectionAPI pApi = new TestCMSShortConnectionAPI();
////				pApi.SendShortMessage(strPhones,"水文水资源数据统一接收平台"+strMes);
//			}
//		}
//		catch(Exception ex)
//		{
//			logger.error("监测测站运行情况时出错："+ex.toString());
//		}
//	}

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub

    }

}
